﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OrmAuto;

public partial class Contents_AbilitaLogin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack) return;
        if (!Request.QueryString.HasKeys()) return;

        Literal myLit = TemplatControl1.Controls[0].Controls[0].Controls[1] as Literal;

        try
        {

            if (validaNuovoIscritto())
                myLit.Text = "Sei stato correttamente abilitato !<br/>" +
                                 "Ora puoi loggarti";
            else
            {
                myLit.Text = "Non sei stato correttamente abilitato ! <br/>" +
                "Contatta gli amministratori via email.";
                return;
            }
        }
        catch (Exception ex)
        {
            myLit.Text = "Non sei stato correttamente abilitato ! <br/>" +
                    "Contatta gli amministratori via email." + ex.Message;

            return;
        }

        try
        {
            //invio lettera a noi per conoscenza
            Mailer ma = new Mailer();
            ma.sendMessage("**", "Nuovo iscritto id : " + Request.QueryString["i"], false,
                    Mailer.Email_InfoMyWebAuto, Mailer.Email_InfoMyWebAuto, Mailer.HostAruba);
        }
        catch { }


    }//fM

    private bool validaNuovoIscritto()
    {
        if (!Request.QueryString.AllKeys.Contains("k")) return false;
        if (!Request.QueryString.AllKeys.Contains("i")) return false;

        string key = Request.QueryString["k"];
        string i = Request.QueryString["i"];

        if (string.IsNullOrEmpty(key))
            return false;
        if (string.IsNullOrEmpty(i))
            return false;

        key = Server.UrlDecode(key);
        i = Server.UrlDecode(i);

        int id = 0;
        if (!int.TryParse(i, out id))
            return false;

        QueryUtenti qU = new QueryUtenti();
        var user = qU.getUtente(id);

        string ps = user.PasswordSalt;

        if (user == null) return false;



        //Crypton cry = new Crypton();

        //	string un = cry.Decrypt(key, p);

        if (ps == user.PasswordSalt)
        {
            using (var DAL = new LayerBaseEF().getDAL())
            {
                var us = DAL.Users.Where(u => u.UserId == id && u.PasswordSalt == ps).FirstOrDefault();
                if (us == null) return false;

                us.Enabled = true;

                DAL.SaveChanges();
            }

        }

        return true;

    }//fM




}//fC
